Robot, carriage device, and control method using inertia sensor

ABSTRACT

A robot includes: an arm; a driving source that pivots the arm; an angle sensor that detects a pivot angle and outputs pivot angle information; an inertia sensor that is attached to the arm and outputs inertial force information; a control command generating unit that outputs a control command defining rotational operation of the arm; a control conversion determining unit that determines whether the inertial force information is used when the driving source is controlled; and an arm operation control unit that performs a first control based on the control command, the pivot angle information, and the inertial force information, if the control conversion determining unit determines that the inertial force information should be used, and performs a second control based on the control command and the pivot angle information, if the control conversion determining unit determines that the inertial force information should not be used.

CROSS-REFERENCE TO RELATED APPLICATIONS

This is a continuation patent application of U.S. application Ser. No.12/814,908 filed Jun. 14, 2010 which claims priority to Japanese PatentApplication No. 2009-141943, filed Jun. 15, 2009, all of which areexpressly incorporated by reference herein in their entireties.

BACKGROUND

1. Technical Field

The present invention relates to a robot capable of moving a terminaldevice, which is attached to a front end of an arm, to a wantedposition, a carriage device capable of moving the terminal device, whichis attached to the movable member, to a wanted position, and a controlmethod using an inertia sensor to control these devices.

2. Related Art

In the past, it has been widely known an apparatus such as a robotcapable of moving a terminal device, which is attached to a front end ofan arm by pivoting the arm and so on, to a wanted position and operatingthe terminal device at the position. For example, there are known afeeding/releasing material device having a gripping terminal and feedingand releasing a matching target part to and from a machining apparatus,an applicator robot having an applicator terminal, a welding robothaving a welding terminal or the like.

When the robot is driven, a control method is used, in which a pivotangle of a driving source such as a motor for driving a robot arm ismeasured, a position of a front end of the arm or the like is controlledbased on information on the measured angle. However, since atransmission mechanism for transmitting a driving force to the arm fromthe driving source or the arm is not made of a rigid body, thetransmission mechanism or the arm is deformed. As a result, there is acase in which the position of the front end side of the arm, of whichthe position is controlled based on the angle information, does notnecessarily coincide with an actual position. In addition, there is aproblem in that vibration is generated since the transmission mechanismor the arm is deformed upon the operation. In order to solve theproblem, a method is devised in which an inertia sensor is attached tothe front end of the arm to measure the movement of the front end andthus control the angular velocity information obtained by the inertiasensor. JP-A-7-9374 discloses a control method for an articulated robotand an articulated robot capable of determining a position with highprecision in a case in which rigidity is low and preventing theprecision from being deteriorated due to vibration, by controllingoperation of the arm using an output signal of the inertia sensor.

However, in order to obtain a pivot angle of an arm from the output ofthe inertia sensor, it is necessary to integrate the output of theinertia sensor. In addition, there is a problem in that if theintegration is repeated, it is liable to receive an effect of a drift ofa reference potential of the inertia sensor, so that a control device iscapable of highly misrecognizing the information. In JP-A-2005-242794, arobot control device and a robot control method are disclosed topreclude an error factor which is varied in a low frequency, such as adrift of the reference potential, by using a low frequency componentfrom an output of an angle sensor, in which an output of an angularvelocity sensor is used to control a high frequency component only whichis an integral value of the output.

However, there is a problem in that an error due to the effect of thenoise, the effect in delay of signal transmission or the like ispossibly contained in the output of the inertia sensor, and thus thecontrol device easily misrecognizes the information due to the error.Since the effect from the noise of the inertia sensor or the effect fromthe delay of the signal transmission is a phenomenon which happens evenin a high frequency, the control device or the control method disclosedin JP-A-2005-242794 cannot cope with the problem.

SUMMARY

The invention has been made to solve at least a part of the problems,and may be implemented as the following embodiments or applicationexample.

Application Example 1

A robot according to this application example includes an arm with oneend pivotally supported; a driving source that pivots the arm; an anglesensor that detects a pivot angle of the driving source and outputspivot angle information of the driving source; an inertia sensor that isattached to the arm and outputs angular velocity information of the armby detecting the angular velocity of the arm rotation; a control commandgenerating unit that outputs a control command defining rotationaloperation of the arm; a control conversion determining unit thatdetermines whether the angular velocity information is used or not whenthe driving source is controlled to control operation of the arm; and anarm operation control unit that performs a first control based on thecontrol command, the pivot angle information, and the angular velocityinformation, to control the driving source and thus control theoperation of the arm, if the control conversion determining unitdetermines to use the angular velocity information, and performs asecond control which is different from the first control, based on thecontrol command and the pivot angle information, to control the drivingsource and thus control the operation of the arm, if the controlconversion determining unit determines not to use the angular velocityinformation.

In the robot according to this application example, the controlconversion determining unit determines whether the angular velocityinformation is used or not when controlling the operation of the arm.The arm operation control unit performs the first control based on thecontrol command, the pivot angle information, and the angular velocityinformation, and performs a second control based on the control commandand the pivot angle information, in accordance with the determination ofthe control conversion determining unit. Therefore, in order to performthe appropriate control, the control in which the angular velocityinformation is appropriately used or is not used can be selected, incases in which the effect obtained by using the angular velocityinformation is high and is low, or incases in which the error of theangular velocity information is relatively high and is relatively low.In addition, the control method which is effective by using the angularvelocity information can be selected and performed.

The first control is a control method of suppressing vibration or thelike by using the control command, the pivot angle information and theangular velocity information, and is called, for example, a statefeedback control. The second control is a control method of rendering itto approach a wanted position stably by using the control command andthe pivot angle information, and is, for example, a PID (ProportionalIntegral Differential) control based on the angle of the angle sensor orthe angular velocity of its differential value, or the like.

Application Example 2

A robot according to this application example includes an arm with oneend pivotally supported; a driving source that pivots the arm; an anglesensor that detects a pivot angle of the driving source and outputspivot angle information of the driving source; an inertia sensor that isattached to the arm and outputs angular velocity information of the armby detecting the angular velocity of the arm rotation; a control commandgenerating unit that outputs a control command defining rotationaloperation of the arm; a control conversion determining unit thatdetermines a weighted constant of the angular velocity information whenthe driving source is controlled to control operation of the arm; and anarm operation control unit that controls the driving source and thuscontrols the operation of the arm based on the control command, thepivot angle information, and the angular velocity information which ismultiplied by the weighted constant determined by the control conversiondetermining unit.

In the robot according to this application example, the controlconversion determining unit determines the weighted constant of theangular velocity information, and the arm operation control unitcontrols the operation of the arm based on the control command, thepivot angle information, and the angular velocity information which ismultiplied by the weighted constant determined by the control conversiondetermining unit. As a result, when the appropriate control isperformed, since the weighted constant is determined by comprehensivelyconsidering the influence obtained by using the angular velocityinformation and the influence resulted from the error of the angularvelocity information, the operation control of the arm can be performedwhich increases the effect obtained by using the angular velocityinformation and reduces the influence resulted from the error of theangular velocity information overall.

Application Example 3

In the robot according to this application example, it is preferablethat a threshold value is previously set in the angular velocityinformation, and the control conversion determining unit compares theangular velocity information with the threshold value to determinewhether the angular velocity information is used or not, or to determinethe weighted constant of the angular velocity information.

According to the robot of this application example, by comparing theangular velocity information with the threshold value, it is determinedwhether the angular velocity information is used or not, or the weightedconstant of the angular velocity information is determined. Moreappropriate control can be performed by using the angular velocityinformation, as compared with the case in which the angular velocityinformation is not used. However, if the angular velocity is reduced,the effect obtained by using the angular velocity information isdecreased, and simultaneously, the influence resulted from the error ofthe angular velocity information by the noise or the like is obtained.Therefore, the precision is lowered as compared with the case in whichonly the angle information is used. Since it is determined whether theangular velocity information is used or not, or the weighted constant ofthe angular velocity information is determined, by comparing the angularvelocity information with the threshold value, the operation control ofthe arm can be performed which increases the effect obtained by usingthe angular velocity information and reduces the influence resulted fromthe error of the angular velocity information overall.

Application Example 4

In the robot according to this application example, it is preferablethat a threshold value is previously set in the pivot angle information,and the control conversion determining unit compares the pivot angleinformation with the threshold value to determine whether the angularvelocity information is used or not, or to determine the weightedconstant of the angular velocity information.

According to the robot of this application example, by comparing thepivot angle information with the threshold value, it is determinedwhether the angular velocity information is used or not, or the weightedconstant of the angular velocity information is determined. Moreappropriate control can be performed by using the angular velocityinformation, as compared with the case in which the angular velocityinformation is not used. However, in a state in which the pivot angle isincreased and thus approaches the wanted angle, the angular velocity isreduced. If the angular velocity is reduced, the effect obtained byusing the angular velocity information is decreased, and simultaneously,the influence resulted from the error of the angular velocityinformation by the noise or the like is obtained. Therefore, theprecision is lowered as compared with the case in which only the angleinformation is used. Since it is determined whether the angular velocityinformation is used or not, or the weighted constant of the angularvelocity information is determined, by comparing the angular velocityinformation with the threshold value, the operation control of the armcan be performed which increases the effect obtained by using theangular velocity information and reduces the influence resulted from theerror of the angular velocity information overall.

Application Example 5

In the robot according to this application example, it is preferablethat a threshold value is previously set in an integral value of one ormore times of the angular velocity information, and the controlconversion determining unit compares the integral value of one or moretimes of the angular velocity information with the threshold value todetermine whether the angular velocity information is used or not, or todetermine the weighted constant of the angular velocity information.

According to the robot of this application example, by comparing theintegral value of one or more times of the angular velocity informationwith the threshold value, it is determined whether the angular velocityinformation is used or the weighted constant of the angular velocityinformation is determined. More appropriate control can be performed byusing the angular velocity information, as compared with the case inwhich the angular velocity information is not used. If the angularvelocity is reduced, the effect obtained by using the angular velocityinformation is decreased, and simultaneously, the influence resultedfrom the error of the angular velocity information by the noise or thelike is obtained. Therefore, the precision is lowered as compared withthe case in which only the angle information is used. Since it isdetermined whether the angular velocity information is used or not, orthe weighted constant of the angular velocity information is determined,by comparing the integral value of one or more times of the angularvelocity information with the threshold value, the operation control ofthe arm can be performed which increases the effect obtained by usingthe angular velocity information and reduces the influence resulted fromthe error of the angular velocity information overall. The comparison ofthe integral value of one or more times of the angular velocityinformation with the threshold value can take the same determinationcriteria as the case of comparing the angular velocity information withthe threshold value. It can easily treat the unit with the pivot angleinformation or the like in common by treating the integral value of oneor more times of the angular velocity information.

Application Example 6

In the robot according to this application example, it is preferablethat a threshold value is previously set in a differential value of oneor more times of the pivot angle information, and the control conversiondetermining unit compares the differential value of one or more times ofthe pivot angle information with the threshold value to determinewhether the angular velocity information is used or not, or to determinethe weighted constant of the angular velocity information.

According to the robot of this application example, by comparing thedifferential value of one or more times of the pivot angle informationwith the threshold value, it is determined whether the angular velocityinformation is used or not, or the weighted constant of the angularvelocity information is determined. More appropriate control can beperformed by using the angular velocity information, as compared withthe case in which the angular velocity information is not used. However,in a state in which the pivot angle is increased and thus approaches thewanted angle, the angular velocity is reduced. If the angular velocityis reduced, the effect obtained by using the angular velocityinformation is decreased, and simultaneously, the influence resultedfrom the error of the angular velocity information by the noise or thelike is obtained. Therefore, the precision is lowered as compared withthe case in which only the angle information is used. Since it isdetermined whether the angular velocity information is used or not, orthe weighted constant of the angular velocity information is determined,by comparing the differential value of one or more times of the angularvelocity information with the threshold value, the operation control ofthe arm can be performed which increases the effect obtained by usingthe angular velocity information and reduces the influence resulted fromthe error of the angular velocity information overall. The comparison ofthe differential value of one or more times of the angular velocityinformation with the threshold value can take the same determinationcriteria as the case of comparing the pivot angle information with thethreshold value. It can easily treat the unit with the angular velocityinformation or the like in common by treating the differential value ofone or more times of the pivot angle information.

Application Example 7

In the robot according to this application example, it is preferablethat a threshold value is previously set in a time axis based on aspecific point of the control command, and the control conversiondetermining unit compares a lapse time from the specific point with thethreshold value to determine whether the angular velocity information isused or not, or to determine the weighted constant of the angularvelocity information.

According to the robot of this application example, by comparing thelapse time from the specific point of the control command with thethreshold value, it is determined whether the angular velocityinformation is used or not, or the weighted constant of the angularvelocity information is determined. More appropriate control can beperformed by using the angular velocity information, as compared withthe case in which the angular velocity information is not used. If theangular velocity is reduced, the effect obtained by using the angularvelocity information is decreased, and simultaneously, the influenceresulted from the error of the angular velocity information by the noiseor the like is increased. Since it is determined whether the angularvelocity information is used or not or the weighted constant of theangular velocity information is determined, by comparing the lapse timefrom the specific point of the control command with the threshold value,the operation control of the arm can be performed which increases theeffect obtained by using the angular velocity information and reducesthe influence resulted from the error of the angular velocityinformation overall.

For example, if a predetermined time or more passes from a specificpoint of the control command, such as the wanted moving position, thevalue of the angular velocity information becomes a value of the angularvelocity at the specific point defined by the control command. Bycomparing the lapse time from the specific point of the control commandwith the threshold value, it can be as the same determination criteriaas the case in which the angular velocity information is compared withthe threshold value. The control can be easily performed by setting thelapse time as the criteria, as compared with the case in which theangular velocity information or the like is compared with the thresholdvalue.

Application Example 8

In the robot according to this application example, it is preferablethat a threshold value is previously set in a noise affecting theangular velocity information, and the control conversion determiningunit compares the noise affecting the angular velocity information withthe threshold value to determine whether the angular velocityinformation is used or not or to determine the weighted constant of theangular velocity information.

According to the robot of this application example, by comparing thenoise affecting the angular velocity information with the thresholdvalue, it is determined whether the angular velocity information is usedor not or the weighted constant of the angular velocity information isdetermined. More appropriate control can be performed by using theangular velocity information, as compared with the case in which theangular velocity information is not used. If the noise affecting theangular velocity information is increased, the influence of the error inthe angular velocity information due to the noise or the like isincreased, and thus the effect obtained by using the angular velocityinformation is decreased. Since it is determined whether the angularvelocity information is used or not or the weighted constant of theangular velocity information is determined, by comparing the noiseaffecting the angular velocity information with the threshold value, theoperation control of the arm can be performed which reduces theinfluence resulted from the error of the angular velocity information.

Application Example 9

A carriage device according to this application example includes aslidably supported movable unit; a driving source that moves the movableunit; a position sensor that detects a driving amount of the drivingsource and outputs position information of the driving source; aninertia sensor that is attached to the movable unit and outputsacceleration information of an acceleration acting on the movable unitwhen the movable unit is moved; a control command generating unit thatoutputs a control command defining movement operation of the movableunit; a control conversion determining unit that determines whether theacceleration information is used or not when the driving source iscontrolled to control the movement operation of the movable unit; and anoperation control unit that performs a first control based on thecontrol command, the position information, and the accelerationinformation, to control the driving source and thus control the movementoperation of the movable unit, if the control conversion determiningunit determines to use the acceleration information, and performs asecond control which is different from the first control, based on thecontrol command and the position information, to control the drivingsource and thus control the movement operation of the movable unit, ifthe control conversion determining unit determines not to use theangular velocity information.

According to the carriage device of this application example, thecontrol conversion determining unit determines whether the accelerationinformation is used or not when controlling the operation of the movableunit. The operation control unit performs the first control based on thecontrol command, the position information, and the accelerationinformation, and performs a second control based on the control commandand the position information, in accordance with the determination ofthe control conversion determining unit. Therefore, in order to performthe appropriate control, the control in which the accelerationinformation is appropriately used or is not used can be selected, incases in which the effect obtained by using the acceleration informationis high and is low, or in cases in which the error of the accelerationinformation is relatively high and is relatively low. In addition, thecontrol method which is effective by using the acceleration informationcan be selected and performed.

The first control is a control method of suppressing vibration or thelike by using the control command, the position information and theacceleration information, and is called, for example, a state feedbackcontrol. The second control is a control method of rendering it toapproach a wanted position stably by using the control command and theposition information, and is, for example, a PID (Proportional IntegralDifferential) control based on the angle of the angle sensor or theangular velocity of its differential value, or the like.

Application Example 10

A carriage device according to this application example includes aslidably supported movable unit; a driving source that moves the movableunit; a position sensor that detects a driving amount of the drivingsource and outputs position information of the driving source; aninertia sensor that is attached to the movable unit and outputsacceleration information of an acceleration acting on the movable unitwhen the movable unit is moved; a control command generating unit thatoutputs a control command defining movement operation of the movableunit; a control conversion determining unit that determines a weightedconstant of the acceleration information when the driving source iscontrolled to control the movement operation of the movable unit; and anoperation control unit that controls the driving source and thuscontrols the operation of the movable unit based on the control command,the position information, and the acceleration information which ismultiplied by the weighted constant determined by the control conversiondetermining unit.

In the carriage device according to this application example, thecontrol conversion determining unit determines the weighted constant ofthe acceleration information, and the operation control unit controlsthe movement operation of the movable unit based on the control command,the position information, and the acceleration information which ismultiplied by the weighted constant determined by the control conversiondetermining unit. As a result, when the appropriate control isperformed, since the weighted constant is determined by comprehensivelyconsidering the effect obtained by using the acceleration informationand the influence resulted from the error of the accelerationinformation, the operation control of the movable unit can be performedwhich increases the effect obtained by using the accelerationinformation and reduces the influence resulted from the error of theacceleration information overall.

Application Example 11

According to the carriage device of this application example, it ispreferable that a threshold value is previously set in the accelerationinformation, and the control conversion determining unit compares theacceleration information with the threshold value to determine whetherthe acceleration information is used or not, or to determine theweighted constant of the acceleration information.

According to the carriage device of this application example, bycomparing the acceleration information with the threshold value, it isdetermined whether the acceleration information is used or not, or theweighted constant of the acceleration information is determined. Moreappropriate control can be performed by using the accelerationinformation, as compared with the case in which the accelerationinformation is not used. However, if the acceleration is reduced, theeffect obtained by using the acceleration information is decreased, andsimultaneously, the influence resulted from the error of theacceleration information by the noise or the like is obtained.Therefore, the precision is lowered as compared with the case in whichonly the position information is used. Since it is determined whetherthe acceleration information is used or not, or the weighted constant ofthe acceleration information is determined, by comparing theacceleration information with the threshold value, the operation controlof the movable unit can be performed which increases the effect obtainedby using the acceleration information and reduces the influence resultedfrom the error of the acceleration information overall.

Application Example 12

According to the carriage device of this application example, it ispreferable that a threshold value is previously set in the positioninformation, and the control conversion determining unit compares theposition information with the threshold value to determine whether theacceleration information is used or not or to determine the weightedconstant of the acceleration information.

According to the carriage device of this application example, bycomparing the position information with the threshold value, it isdetermined whether the acceleration information is used or not, or theweighted constant of the acceleration information is determined. Moreappropriate control can be performed by using the accelerationinformation, as compared with the case in which the accelerationinformation is not used. However, in a state in which it moves at aconstant velocity at a position as the moving amount is increased than aconstant amount or a state in which it approaches the wanted positionand then the moving velocity is decreased, the acceleration is reduced.If the acceleration is reduced, the effect obtained by using theacceleration is decreased, and simultaneously, the influence resultedfrom the error of the acceleration information by the noise or the likeis obtained. Therefore, the precision is lowered as compared with thecase in which only the position information is used. Since it isdetermined whether the acceleration information is used or not, or theweighted constant of the acceleration information is determined, bycomparing the position information with the threshold value, theoperation control of the movable unit can be performed which increasesthe effect obtained by using the acceleration information and reducesthe influence resulted from the error of the acceleration informationoverall.

Application Example 13

According to the carriage device of this application example, it ispreferable that a threshold value is previously set in an integral valueof one or more times of the acceleration information, and the controlconversion determining unit compares the integral value of one or moretimes of the acceleration information with the threshold value todetermine whether the acceleration information is used or not, or todetermine the weighted constant of the acceleration information.

According to the carriage device of this application example, bycomparing the integral value of one or more times of the accelerationinformation with the threshold value, it is determined whether theacceleration information is used or not, or the weighted constant of theacceleration information is determined. More appropriate control can beperformed by using the acceleration information, as compared with thecase in which the acceleration information is not used. If theacceleration is reduced, the effect obtained by using the accelerationinformation is decreased, and simultaneously, the influence resultedfrom the error of the acceleration information by the noise or the likeis obtained. Therefore, the precision is lowered as compared with thecase in which only the position information is used. Since it isdetermined whether the acceleration information is used or the weightedconstant of the acceleration information is determined, by comparing theintegral value of one or more times of the acceleration information withthe threshold value, the operation control of the movable unit can beperformed which increases the effect obtained by using the accelerationinformation and reduces the influence resulted from the error of theacceleration information overall. The comparison of the integral valueof one or more times of the acceleration information with the thresholdvalue can take the same determination criteria as the case of comparingthe acceleration information with the threshold value. It can easilytreat the unit with the position information or the like in common bytreating the integral value of one or more times of the accelerationinformation.

Application Example 14

According to the carriage device of this application example, it ispreferable that a threshold value is previously set in a differentialvalue of one or more times of the position information, and the controlconversion determining unit compares the differential value of one ormore times of the position information with the threshold value todetermine whether the acceleration information is used or not or todetermine the weighted constant of the acceleration information.

According to the carriage device of this application example, bycomparing the differential value of one or more times of the positioninformation with the threshold value, it is determined whether theacceleration information is used or not, or the weighted constant of theacceleration information is determined. More appropriate control can beperformed by using the acceleration information, as compared with thecase in which the acceleration information is not used. However, in astate in which it moves at a constant velocity at a position as themoving amount is increased than a constant amount or a state in which itapproaches the wanted position and then the moving velocity isdecreased, the acceleration is reduced. If the acceleration is reduced,the effect obtained by using the acceleration information is decreased,and simultaneously, the influence resulted from the error of theacceleration information by the noise or the like is obtained.Therefore, the precision is lowered as compared with the case in whichonly the position information is used. Since it is determined whetherthe acceleration information is used or not, or the weighted constant ofthe acceleration information is determined, by comparing thedifferential value of one or more times of the position information withthe threshold value, the operation of the movable unit can be performedwhich increases the effect obtained by using the accelerationinformation and reduces the influence resulted from the error of theacceleration information overall. The comparison of the differentialvalue of one or more times of the position information with thethreshold value can take the same determination criteria as the case ofcomparing the position information with the threshold value. It caneasily treat the unit with the acceleration information or the like incommon by treating the differential value of one or more times of theposition information.

Application Example 15

According to the carriage device of this application example, it ispreferable that a threshold value is previously set in a time axis basedon a specific point of the control command, and the control conversiondetermining unit compares a lapse time from the specific point with thethreshold value to determine whether the acceleration information isused or not, or to determine the weighted constant of the accelerationinformation.

According to the carriage device of this application example, bycomparing the lapse time on the specific time of the control commandwith the threshold value, it is determined whether the accelerationinformation is used or not, or the weighted constant of the accelerationinformation is determined. More appropriate control can be performed byusing the acceleration information, as compared with the case in whichthe acceleration information is not used. However, if the accelerationis reduced, the effect obtained by using the acceleration information isdecreased, and simultaneously, the influence resulted from the error ofthe acceleration information by the noise or the like is obtained.Therefore, the precision is lowered as compared with the case in whichonly the position information is used. Since it is determined whetherthe acceleration information is used or not, or the weighted constant ofthe acceleration information is determined, by comparing the lapse timefrom the specific point of the control command with the threshold value,the moving operation of the movable unit can be controlled whichincreases the effect obtained by using the acceleration information andreduces the influence resulted from the error of the accelerationinformation overall.

For example, if a predetermined time or more passes from a specificpoint of the control command, such as the wanted position, the value ofthe acceleration information becomes a value of the acceleration at thespecific point defined by the control command. By comparing the lapsetime from the specific point of the control command with the thresholdvalue, it can be as the same determination criteria as the case wherethe acceleration information is compared with the threshold value. Thecontrol can be easily performed by setting the lapse time as thecriteria, as compared with the case in which the accelerationinformation or the like is compared with the threshold value.

Application Example 16

According to the carriage device of this application example, it ispreferable that a threshold value is previously set in a noise affectingthe acceleration information, and the control conversion determiningunit compares the noise affecting the acceleration information with thethreshold value to determine whether the acceleration information isused or not, or to determine the weighted constant of the accelerationinformation.

According to the carriage device of this application example, bycomparing the noise affecting the acceleration information with thethreshold value, it is determined whether the acceleration informationis used or not, or the weighted constant of the acceleration informationis determined. More appropriate control can be performed by using theacceleration information, as compared with the case in which theacceleration information is not used. However, if the noise affectingthe acceleration information is increased, the influence of the error inthe acceleration information due to the noise or the like is increased,and thus the effect obtained by using the acceleration information isdecreased. Since it is determined whether the acceleration informationis used or not, or the weighted constant of the acceleration informationis determined, by comparing the noise affecting the accelerationinformation with the threshold value, the moving operation of themovable unit can be controlled which reduces the influence resulted fromthe error of the acceleration information.

Application Example 17

A control method using an inertia sensor according to this applicationexample, in which a pivotally or slidably supported movable unit or adriving source that pivots or slides the movable unit is controlled byusing an output of the inertia sensor which is disposed at the movableunit, includes the steps of: outputting a control command definingmovement operation of the movable unit; detecting position informationof the driving source; detecting inertial force information acting onthe movable unit by the inertia sensor when the movable unit is moved;determining a control conversion of determining whether the inertialforce information is used or not, when the driving source is controlledto control movement operation of the movable unit; and if the use of theinertial force information is determined in the step of determining thecontrol conversion, performing a first control based on the positioninformation, and the inertial force information to control the movementoperation of the movable unit through controlling the driving sourceaccording to the control command, and if the non-use of the inertialforce information is determined in the step of determining the controlconversion, performing a second control which is different from thefirst control, based on the position information, to control the drivingsource according to the control command and thus control the movementoperation of the movable unit.

In the control method according to this application example, in the stepof determining the control conversion, the control conversiondetermining unit determines whether the inertial force information isused or not, or not when controlling the moving operation of the movableunit. In the drive control step, the first control is performed based onthe control command, the position information, and the inertial forceinformation, and a second control is performed based on the controlcommand and the position information, in accordance with thedetermination of the step of determining the control conversion.Therefore, in order to perform the appropriate control, the control inwhich the inertial force information is appropriately used or is notused can be selected, in cases in which the effect obtained by using theinertial force information is high and is low, or in cases in which theerror of the inertial force information is relatively high and isrelatively low. In addition, the control method which is effective byusing the inertial force information can be selected and performed.

The first control is a control method of suppressing vibration or thelike by using the control command, the position information and theinertial force information, and is called, for example, a state feedbackcontrol. The second control is a control method of rendering it toapproach a wanted position stably by using the control command and theposition information, and is, for example, a PID (Proportional IntegralDifferential) control based on the angle of the angle sensor or theangular velocity of its differential value, or the like.

Application Example 18

A control method using an inertia sensor according to this applicationexample, in which a pivotally or slidably supported movable unit or adriving source that pivots or slides the movable unit is controlled byusing an output of the inertia sensor which is disposed at the movableunit, includes the steps of: outputting a control command definingmovement operation of the movable unit; detecting a driving amount ofthe driving source and detecting position information of the drivingsource; detecting inertial force information acting on the movable unitby the inertia sensor when the movable unit is moved; determining aweighted constant of the inertial force information, when the drivingsource is controlled by using the inertial force information to controlmovement operation of the movable unit; and controlling the movementoperation of the movable unit by controlling the driving source usingthe control command, the position information, and the inertial forceinformation which is multiplied by the weighted constant determined inthe step of determining the weighted constant.

In the control method according to this application example, in the stepof determining the constant, the weighted constant of the inertial forceinformation is determined, and in the driving control step, the movingoperation of the movable unit is controlled based on the controlcommand, the position information, and the inertial force informationwhich is multiplied by the weighted constant determined by the controlconversion determining unit. As a result, when the appropriate controlis performed, since the weighted constant is determined bycomprehensively considering the influence obtained by using the inertialforce information and the influence resulted from the error of theinertial force information, the moving operation of the movable unit canbe performed which increases the effect obtained by using the inertialforce information and reduces the influence resulted from the error ofthe inertial force information overall.

Application Example 19

According to the control method of this application example, it ispreferable that the step of determining the control conversion or thestep of determining the weighted constant is a step of determiningwhether the inertial force information is used or not, or determiningthe weighted constant of the inertial force information by comparing theinertial force information with a threshold value which is previouslyset with respect to the inertial force information.

According to the control method using the inertial force of thisapplication example, in the step of determining the control conversionor the step of determining the weighted constant, by comparing theinertial force information with the threshold value, it is determinedwhether the inertial force information is used or not, or the weightedconstant of the inertial force information is determined. Moreappropriate control can be performed by using the inertial forceinformation, as compared with the case in which the inertial forceinformation is not used. However, if the inertial force is reduced, theeffect obtained by using the inertial force information is decreased,and simultaneously, the influence resulted from the error of theinertial force information by the noise or the like is obtained.Therefore, the precision is lowered as compared with the case in whichonly the position information is used. Since it is determined whetherthe inertial force information is used or not, or the weighted constantof the inertial force information is determined, by comparing theinertial force information with the threshold value, the operation ofthe movable unit can be performed which increases the effect obtained byusing the inertial force information and reduces the influence resultedfrom the error of the inertial force information overall.

Application Example 20

According to the control method using the inertial force of thisapplication example, it is preferable that the step of determining thecontrol conversion or the step of determining the weighted constant is astep of determining whether the inertial force information is used ornot, or determining the weighted constant of the inertial forceinformation by comparing the position information with a threshold valuewhich is previously set with respect to the position information.

According to the control method by using the inertial force of thisapplication example, by comparing the position information with thethreshold value, it is determined whether the inertial force informationis used or not, or the weighted constant of the inertial forceinformation is determined. More appropriate control can be performed byusing the inertial force information, as compared with the case in whichthe inertial force information is not used. However, in a state in whichit moves at a constant velocity at a position as the moving amount isincreased than a constant amount or a state in which it approaches thewanted position and then the moving velocity is decreased, the inertialforce is reduced. If the inertial force is reduced, the effect obtainedby using the inertial force information is decreased, andsimultaneously, the influence resulted from the error of the inertialforce information by the noise or the like is obtained. Therefore, theprecision is lowered as compared with the case in which only theposition information is used. Since it is determined whether theinertial force information is used or not, or the weighted constant ofthe inertial force information is determined, by comparing the positioninformation with the threshold value, the moving operation of themovable unit can be controlled which increases the effect obtained byusing the inertial force information and reduces the influence resultedfrom the error of the inertial force information overall.

Application Example 21

According to the control method using the inertial force of thisapplication example, it is preferable that the step of determining thecontrol conversion or the step of determining the weighted constant is astep of determining whether the inertial force information is used ornot, or determining the weighted constant of the inertial forceinformation by comparing an integral value of one or more times of theinertial force information with a threshold value which is previouslyset with respect to the integral value of one or more times of theinertial force information.

According to the control method using the inertial force of thisapplication example, in the step of determining the control conversionor determining the weighted constant, by comparing the integral value ofone or more times of the inertial force information with the thresholdvalue, it is determined whether the inertial force information is usedor not, or the weighted constant of the inertial force information isdetermined. More appropriate control can be performed by using theinertial force information, as compared with the case in which theinertial force information is not used. However, if the inertial forceis reduced, the effect obtained by using the inertial force informationis decreased, and simultaneously, the influence resulted from the errorof the inertial force information by the noise or the like is obtained.Therefore, the precision is lowered as compared with the case in whichonly the position information is used. Since it is determined whetherthe inertial force information is used or not, or the weighted constantof the inertial force information is determined, by comparing theintegral value of one or more times of the inertial force informationwith the threshold value, the moving operation of the movable unit canbe controlled which increases the effect obtained by using the inertialforce information and reduces the influence resulted from the error ofthe inertial force information overall. The comparison of the integralvalue of one or more times of the inertial force information with thethreshold value can take the same determination criteria as the case ofcomparing the inertial force information with the threshold value. Itcan easily treat the unit with the position information or the like incommon by treating the integral value of one or more times of theinertial force information.

Application Example 22

According to the control method using the inertial force of thisapplication example, it is preferable that the step of determining thecontrol conversion or the step of determining the weighted constant is astep of determining whether the inertial force information is used ornot, or determining the weighted constant of the inertial forceinformation by comparing a differential value of one or more times ofthe position information with a threshold value which is previously setwith respect to the differential value of one or more times of theposition information.

According to the control method using the inertial force of thisapplication example, in the step of determining the control conversion,by comparing the differential value of one or more times of the positioninformation with the threshold value, it is determined whether theinertial force information is used or not, or the weighted constant ofthe inertial force information is determined. More appropriate controlcan be performed by using the inertial force information, as comparedwith the case in which the inertial force information is not used.However, in a state in which it moves at a constant velocity at aposition as the moving amount is increased than a constant amount or astate in which it approaches the wanted position and then the movingvelocity is decreased, the inertial force is reduced. If the inertialforce is reduced, the effect obtained by using the inertial forceinformation is decreased, and simultaneously, the influence resultedfrom the error of the inertial force information by the noise or thelike is obtained. Therefore, the precision is lowered as compared withthe case in which only the position information is used. Since it isdetermined whether the inertial force information is used or not, or theweighted constant of the inertial force information is determined, bycomparing the differential value of one or more times of the positioninformation with the threshold value, the moving operation of themovable unit can be controlled which increases the effect obtained byusing the inertial force information and reduces the influence resultedfrom the error of the inertial force information overall. The comparisonof the differential value of one or more times of the inertial forceinformation with the threshold value can take the same determinationcriteria as the case of comparing the position information with thethreshold value. It can easily treat the unit with the inertial forceinformation or the like in common by treating the differential value ofone or more times of the position information.

Application Example 23

According to the control method using the inertial force of thisapplication example, it is preferable that the step of determining thecontrol conversion or the step of determining the weighted constant is astep of determining whether the inertial force information is used ornot, or determining the weighted constant of the inertial forceinformation by comparing a lapse time from a specific point of thecontrol command with the threshold value which is previously set in atime axis based on the specific point of the control command.

According to the control method using the inertial force of thisapplication example, by comparing a lapse time from a specific point ofthe control command with the threshold value, it is determined whetherthe inertial force information is used or not, or the weighted constantof the inertial force information is determined. More appropriatecontrol can be performed by using the inertial force information, ascompared with the case in which the inertial force information is notused. However, if the inertial force is reduced, the effect obtained byusing the inertial force information is decreased, and simultaneously,the influence resulted from the error of the inertial force informationby the noise or the like is obtained. Therefore, the precision islowered as compared with the case in which only the position informationis used. Since it is determined whether the inertial force informationis used or not, or the weighted constant of the inertial forceinformation is determined, by comparing the lapse time from the specificpoint of the control command with the threshold value, the movingoperation of the movable unit can be controlled which increases theeffect obtained by using the inertial force information and reduces theinfluence resulted from the error of the inertial force informationoverall.

For example, if a predetermined time or more passes from a specificpoint of the control command, such as the wanted moving position, thevalue of the inertial force information becomes a value of the inertialforce at the specific point defined by the control command. By comparingthe lapse time from the specific point of the control command with thethreshold value, it can be as the same determination criteria as thecase in which the inertial force information is compared with thethreshold value. The control can be easily performed by setting thelapse time as the criteria, as compared with the case in which theinertial force information or the like is compared with the thresholdvalue.

Application Example 24

According to the control method using the inertial force of thisapplication example, it is preferable that the step of determining thecontrol conversion or the step of determining the weighted constant is astep of determining whether the inertial force information is used ornot, or determining the weighted constant of the inertial forceinformation by comparing a noise affecting the inertial forceinformation with the threshold value which is previously set in thenoise affecting the inertial force information.

According to the control method using the inertial force of thisapplication example, in the step of determining the control conversionor the step of determining the weighed constant, it is determinedwhether the inertial force information is used or not, or the weightedconstant of the inertial force information is determined by comparingthe noise affecting the inertial force information with the thresholdvalue. More appropriate control can be performed by using the inertialforce information, as compared with the case in which the inertial forceinformation is not used. However, if the noise affecting the inertialforce information is increased, the influence of the error in theinertial force information due to the noise or the like is increased,and thus the effect obtained by using the inertial force information isdecreased. Since it is determined whether the inertial force informationis used or not, or the weighted constant of the inertial forceinformation is determined, by comparing the noise affecting the inertialforce information with the threshold value, the moving operation of themovable unit can be controlled which reduces the influence resulted fromthe error of the inertial force information.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be described with reference to the accompanyingdrawings, wherein like numbers reference like elements.

FIG. 1 is a perspective view schematically illustrating the externalconfiguration of a feeding/releasing material device.

FIG. 2 is a block diagram illustrating a functional configuration ofdriving a robot mechanism.

FIG. 3 is a flowchart illustrating a process of pivoting afeeding/releasing material arm by controlling a drive of an arm drivingmotor.

FIG. 4A is a diagram illustrating an example of a relationship between atime lapse and an angular velocity, and a threshold value of the angularvelocity while a feeding/releasing material arm is pivoted.

FIG. 4B is a diagram illustrating an example of a relationship between atime lapse and an angular velocity, and a threshold value of the angularvelocity while a feeding/releasing material arm is stopped.

FIG. 5 is a block diagram illustrating a functional configuration ofdriving a robot mechanism.

FIG. 6 is a flowchart illustrating a process of pivoting afeeding/releasing material arm by controlling a drive of an arm drivingmotor.

FIG. 7A is a diagram illustrating an example of a relationship between atime lapse and an angular velocity, and a threshold value of the angularvelocity while a feeding/releasing material arm is pivoted.

FIG. 7B is a diagram illustrating an example of angular velocityinformation.

FIG. 8A is a diagram illustrating an example of a relationship between atime lapse and a pivot angle, and a threshold value of the pivot anglewhile a feeding/releasing material arm is pivoted.

FIG. 8B is a diagram illustrating an example of a relationship between atime lapse and an angle, and a threshold value of the angle while afeeding/releasing material arm is stopped.

FIG. 9A is a diagram illustrating an example of a relationship betweentime lapse and an angular velocity, and a threshold value defined on atime axis with respect to a wanted stop position which is a specificpoint of a control command value while a feeding/releasing material armis pivoted.

FIG. 9B is a diagram illustrating an example of a relationship between atime lapse and an angular velocity in the vicinity of a wanted stopposition which is a specific point of a control command value, and athreshold value defined on a time axis with respect to the wanted stopposition which is the specific point of the control command.

FIG. 10 is a perspective view schematically illustrating the externalconfiguration of a feeding/releasing material device.

FIGS. 11A and 11B are perspective views schematically illustrating theexternal configuration of a carriage device.

FIG. 12 is a diagram schematically illustrating a major part of a laserprinter.

DESCRIPTION OF EXEMPLARY EMBODIMENTS

Next, one example of a robot, a carriage device and a control methodusing an inertia sensor will be described with reference to thedrawings. In the drawings referred in the following description, thereis a case in which a vertical or horizontal scale of a member or portionor a scale for every portion is represented differently from a realscale in order to easily understand a constituent member.

Embodiment 1

A first embodiment of a robot, a carriage device and a control methodusing an inertia sensor will now be described. In this embodiment, afeeding/releasing material device which is an example of the carriagedevice will be described by way of an example. For example, in a processof fabricating a semiconductor device, the feeding/releasing materialdevice of the embodiment is a feeding/releasing material device capableof treating a wafer on which a plurality of semiconductor chipsconstituting a semiconductor device is compartment-formed.

Feeding/Releasing Material Device

First, the mechanical configuration of a feeding/releasing materialdevice 10 will be described with reference to FIG. 1. FIG. 1 is aperspective view schematically illustrating an external configuration ofthe feeding/releasing material device.

As shown in FIG. 1, the feeding/releasing material device includes aholding hand 12, a robot mechanism 20, a feeding/releasing materialdevice control unit 30, an angular velocity sensor 32, and an anglesensor 34 (refer to FIG. 2).

The robot mechanism 20 includes a hand holding mechanism 24, afeeding/releasing material arm 21, an arm shaft part 26, and a base 28.The base 28 supports the arm shaft part 26 in such a way that the armshaft part can be rotated around a rotational shaft of the arm shaftpart 26 via a built-in bearing mechanism (not illustrated) and can beprecisely positioned. The arm shaft part 26 is connected to the armdriving motor 22 (refer to FIG. 2) built in the base 28 via an armdriving mechanism 23 (refer to FIG. 2), and thus is pivoted by the armdriving motor 22. The arm driving motor 22 is connected to the anglesensor 34, and a pivot angle of the arm driving motor 22 is measured bythe angle sensor 34.

An end portion of the arm shaft part 26 which is opposite to its endportion supported by the base 28 is fixed to one end portion of thefeeding/releasing material arm 21. The feeding/releasing material arm 21is pivoted around the rotational shaft of the arm shaft part 26 by thearm driving motor 22. The pivot angle of the feeding/releasing materialarm 21 is approximately measured by measuring the pivot angle of the armdriving motor 22 using the angle sensor 34.

The hand holding mechanism 24 is fixed to the end portion of the armshaft part 26 which is opposite to its end portion supported by the base28. The hand holding mechanism 24 has a holding bearing 24 a fixed tothe feeding/releasing material arm 21, and a holding mechanism shaft 24b which can be slidably supported and precisely positioned on theholding bearing 24 a. The holding mechanism shaft 24 b can be slidablysupported with respect to the holding bearing 24 a in an axial directionof the holding mechanism shaft 24 b by a vertically driving source (notillustrated). The axial direction of the holding mechanism shaft 24 b issubstantially parallel with the axial direction of the arm shaft part26.

A holding hand 12 is attached to a free end of the holding mechanismshaft 24 b. The holding hand 12 is located at a position faced to anobject to be carried by pivoting the feeding/releasing material arm 21.By sliding the holding mechanism shaft 24 b with respect to the holdingbearing 24 a, the holding hand 12 is separated from and connected to theobject to be carried, and simultaneously, the object to be carried whichis held by the holding hand 12 is lifted from a placing location or isdrawn close to the placing location.

The angular velocity sensor 32 is fixed at a side opposite to theholding hand 12 to the hand holding mechanism 24 attached with theholding hand 12. That is, the angular velocity sensor 32 is fixed to afront end of the feeding/releasing material arm 21 to measure an angularvelocity of the feeding/releasing material arm 21 to be pivoted.

The feeding/releasing material device control unit 30 wholly controlsthe operation of each part of the feeding/releasing material device 10based on a control program previously put via an informationinput/output device (not illustrated).

Functional Configuration of Robot Mechanism Drive

Next, the functional configuration of driving the robot mechanism 20will be described with reference to FIG. 2. FIG. 2 is a block diagramillustrating the functional configuration of driving the robotmechanism.

As described above, the feeding/releasing material device 10 includesthe arm driving motor 22, the arm driving mechanism 23, the angularvelocity sensor 32, the angle sensor 34, and the feeding/releasingmaterial device control unit 30 in order to pivot the feeding/releasingmaterial arm 21.

As the angular velocity sensor 32, for example, a gyro sensor may beused. As the angle sensor 34, for example, an encoder may be used. Thefeeding/releasing material arm 21 corresponds to an arm, the robotmechanism 20 corresponds to a robot, the arm driving motor 22corresponds to a driving source, and the angular velocity sensor 32corresponds to an inertia sensor.

As shown in FIG. 2, the feeding/releasing material device control unit30 includes a robot controller 31 for controlling the arm driving motor22. The robot controller 31 has a control command generating part 36, acontrol conversion determining part 37, an arm operation control part38, and a motor driver 39.

The control command generating part 36 outputs an operation command forthe feeding/releasing material arm 21 so as to execute the operationcommand of the robot mechanism 20 based on an operation command offeeding or releasing a material. The operation command is input to thefeeding/releasing material device 10 from an input device (notillustrated). The operation command of the robot mechanism 20 based onthe operation command is output to the control command generating part36 from an overall control part (not illustrated) provided in thefeeding/releasing material device control unit 30. The operation commandof the feeding/releasing material arm 21 which is output from thecontrol command generating part 36, for example, a trace of the frontend of the feeding/releasing material arm 21 is commanded as an angle ofthe feeding/releasing material arm 21 every time.

The arm operation control part 38 outputs a control signal of the armdriving motor 22 to execute the operation command of thefeeding/releasing material arm 21 which is output from the controlcommand generating part 36. The arm operation control part 38 has angleinformation using control part 38 a and an angle information and angularvelocity information using control part 38 b. The angle informationusing control part 38 a generates and outputs an optimum control signalof the arm driving motor 22 in accordance with the angle informationfrom the angle sensor 34 so as to execute the operation command of thefeeding/releasing material arm 21. The angle information and angularvelocity information using control part 38 b generates and outputs anoptimum control signal of the arm driving motor 22 in accordance withthe angle information from the angle sensor 34 and the angular velocityinformation from the angular velocity sensor 32 so as to execute theoperation command of the feeding/releasing material arm 21. Theconversion of the angle information using control part 38 a and theangle information and angular velocity information using control part 38b is determined by the control conversion determining part 37. The angleinformation using control part 38 a and the angle information andangular velocity information using control part 38 b may install adedicated hardware, respectively, or a single hardware may be used asthe angle information using control part 38 a or the angle informationand angular velocity information using control part 38 b by a controlprogram. The arm operation control part 38, or the angle informationusing control part 38 a and the angle information and angular velocityinformation using control part 38 b provided in the arm operationcontrol part 38 correspond to the arm operation control unit.

The control conversion determining part 37 selects and determines theuse of the angle information using control part 38 a or the angleinformation and angular velocity information using control part 38 b.The control conversion determining part 37 selects and determines theuse of the angle information using control part 38 a or the angleinformation and angular velocity information using control part 38 b inaccordance with the angle information from the angle sensor 34, theangular velocity information from the angular velocity sensor 32, or theoperation command of the feeding/releasing material arm 21 from thecontrol command generating part 36.

Pivot of Feeding/Releasing Material Arm 21

Next, the process of positioning the holding hand 12 which is installedat the front end of the feeding/releasing material arm 21, at anappropriate position by controlling the drive of the arm driving motor22 and pivoting the feeding/releasing material arm 21 will be describedwith reference to FIGS. 3 and 4. FIG. 3 is a flowchart illustrating theprocess of pivoting the feeding/releasing material arm by controllingthe drive of the arm driving motor. FIGS. 4A and 4B are explanatoryviews illustrating an example of a threshold value of the angularvelocity as a standard of converting the control. FIG. 4A is a diagramillustrating an example of a relationship between a time lapse and anangular velocity, and a threshold value of the angular velocity whilethe feeding/releasing material arm is pivoted. FIG. 4B is a diagramillustrating an example of a relationship between a time lapse and anangular velocity, and a threshold value of the angular velocity whilethe feeding/releasing material arm is stopped.

First, in a step S21 in FIG. 3, it is determined whether there is amotor stop command or not. The motor stop command is a command ofstopping the arm driving motor 22 to complete the control.

If there is the motor stop command (YES in step S21), thefeeding/releasing material arm 21 is pivoted by controlling the drive ofthe arm driving motor 22 to complete the process of positioning theholding hand 12 which is located at the front end of thefeeding/releasing material arm 21, at the appropriate position.

If there is no motor stop command (NO in step S21), it proceeds to stepS22.

Next, in step S22, the control command values, the angle information,and the angular velocity information are obtained. More specifically,the control command value output from the control command generatingpart 36 and input to the arm operation control part 38 is input to thecontrol conversion determining part 37. The angle information on thepivot angle of the feeding/releasing material arm 21 which is obtainedfrom the pivot angle of the arm driving motor 22 measured by the anglesensor 34 connected to the arm driving motor 22 is input to the controlconversion determining part 37 and the arm operation control part 38.The angular velocity information on the angular velocity of thefeeding/releasing material arm 21 which is measured by the angularvelocity sensor 32 fixed near to the front end of the feeding/releasingmaterial arm 21 is input to the control conversion determining part 37and the arm operation control part 38.

Next, in step S23, the control conversion determining part 37 determineswhether the angular velocity of the feeding/releasing material arm 21 ismore than a predetermined threshold value or not based on the angularvelocity information output from the angular velocity sensor 32. Thepredetermined threshold value is indicated by a threshold value S.

If the angular velocity of the feeding/releasing material arm 21 is morethan the predetermined threshold value S (YES in step S23), the controlconversion determining part 37 determines to use the angle informationand angular velocity information using control part 38 b, and itproceeds to step S24.

In step S24, the angle information and angular velocity informationusing control part 38 b calculates a torque command value from thecontrol command value, the angle information, and the angular velocityinformation.

If the angular velocity of the feeding/releasing material arm 21 is lessthan the predetermined threshold value S (NO in step S23), the controlconversion determining part 37 determines to use the angle informationusing control part 38 a, and it proceeds to step S25.

In step S25, the angle information using control part 38 a calculates atorque command value from the control command value, and the angleinformation.

As shown FIG. 4A, in a step in which the feeding/releasing material arm21 starts to pivot and the angular velocity is less than the thresholdvalue S and a step in which it approaches the target position and theangular velocity is less than the threshold value S, the angularvelocity information is not used, and the control is performed by usingthe control command value and the angle information. The controlutilizes a PID (Proportional Integral Differential) control based on,for example, the angle of the angle sensor or the angular velocity ofits differential value. In this instance, the PID control or the likecorresponds to the second control.

At a step in which the angular velocity is higher than the thresholdvalue S in the middle of the pivoting motion, the control is performedby utilizing the angular velocity information, the control command valueand the angle information. The control utilizes a control method, forexample, a so-called state feedback control. In this instance, the statefeedback control or the like corresponds to the first control.

The angular velocity indicated by a double-dotted chain line in FIGS. 4Aand 4B is an angular velocity designated for every lapse time as thecontrol command value. The angular velocity indicated by a broken linein FIGS. 4A and 4B is an example of an angular velocity for every lapsetime in the case where the PID control is performed based on the angleof the angle sensor using the control command value and the angleinformation, or the angular velocity of its differential value. Theangular velocity indicated by the solid line in FIGS. 4A and 4B is anexample of an angular velocity for every lapse time in the case wherethe state feedback control or the like is performed by using the controlcommand value, the angular velocity information and the angleinformation.

In this instance, FIGS. 4A and 4B show the solid line indicating theangular velocity in the case of performing the state feedback control orthe like at a slow side in time in order to apparently separate thebroken line indicating the angular velocity in the case of performingthe PID control from the solid line indicating the angular velocity inthe case of performing the state feedback control or the like.

Subsequent to step S24 or step S25, the torque command value calculatedand obtained by the angle information using control part 38 a or theangle information and angular velocity information using control part 38b is input to the motor driver 39 in step S26.

Next, in step S27, electric power corresponding to the torque commandvalue is supplied to the arm driving motor 22 by the motor driver 39.The arm driving motor 22 generates a torque corresponding to thesupplied electric power.

Then, in step S28, the arm driving mechanism 23 connected to the armdriving motor 22 is operated by the torque generated by the arm drivingmotor 22, and the angular velocity of the feeding/releasing material arm21 connected to the arm driving motor 22 via the arm driving mechanism23 is accelerated or decelerated by the torque generated by the armdriving motor 22.

Subsequent to step S28, it proceeds to step S21, and in a case in whichthere is the motor stop command in step S21 (YES in step S21), thefeeding/releasing material arm 21 is pivoted by controlling the drive ofthe arm driving motor 22 to complete the process of positioning theholding hand 12, which is installed at the front end of thefeeding/releasing material arm 21, at a predetermined position.

As shown in FIG. 4B, in the case in which the control using the controlcommand value and the angle information is performed, residual vibrationmay be generated by pivoting the feeding/releasing material arm 21 so asto return the holding hand 12 passing through the wanted position. Bygeneration of the residual vibration, a time is required until thefeeding/releasing material arm 21 stops after it almost reaches thewanted position, that is, the residual vibration stabilized.

In the case in which the control using the control command value, theangular velocity information and the angle information is performed, thevibration is almost not generated. As a result, until thefeeding/releasing material arm 21 almost approaches the wanted positionand then is stopped, the time is not required. In the case in which thenoise is carried in the angular velocity information, since thevibration is generated by the noise, the precision is deteriorated. Itis possible to exclude the influence of the noise by increasing thethreshold value of the angular velocity converting the control than theangular velocity of the vibration resulted from the noise. By convertingthe control using the control command value and the angle information,it is possible to suppress the generation of heavy vibration incomparison with the case of using the angular velocity informationincluding the noise.

In addition, by lowering the threshold value of the angular velocityconverting the control to less than the maximum angular velocity of theresidual vibration in the case in which the control using the controlcommand value and the angle information is performed, it is possible tosuppress the vibration from generating when the control using thecontrol command value, the angular velocity information and the angleinformation is performed prior to the time converting the control. Forthis reason, in comparison with a case of performing the control usingthe control command value and the angle information without performingthe control using the control command value, the angular velocityinformation and the angle information, because the maximum angularvelocity of the residual vibration is lowered, it is possible todecrease the time until the residual vibration stabilized.

Embodiment 2

A second embodiment of a robot, a carriage device and a control methodusing an inertia sensor will now be described. In this embodiment, afeeding/releasing material device 210 which is an example of thecarriage device includes substantially the same mechanical configurationas that of the feeding/releasing material device 10 which is describedby reference to FIG. 1 in the first embodiment. The functionalconfiguration of the robot mechanism drive and the process of pivoting afeeding/releasing material arm 21, which are different from a part ofthe feeding/releasing material device 10, will be described.

Functional Configuration of Robot Mechanism Drive

First, the functional configuration of driving the robot mechanism 20 inthe feeding/releasing material device 210 according to the embodimentwill be described with reference to FIG. 5. FIG. 5 is a block diagramillustrating the functional configuration of driving the robotmechanism.

Similar to the feeding/releasing material device 10, thefeeding/releasing material device 210 includes an arm driving motor 22,an arm driving mechanism 23, an angular velocity sensor 32, an anglesensor 34, and a feeding/releasing material device control unit 230 inorder to pivot a feeding/releasing material arm 21.

As shown in FIG. 5, the feeding/releasing material device control unit230 includes a robot controller 231 for controlling the arm drivingmotor 22. The robot controller 231 has a control command generating part36, a control conversion determining part 237, an arm operation controlpart 238, a gain adjusting part 235, and a motor driver 39.

The control command generating part 36 outputs an operation command forthe feeding/releasing material arm 21 so as to execute the operationcommand of the robot mechanism 20 based on an operation command offeeding or releasing a material. The operation command is input to thefeeding/releasing material device 210 from an input device (notillustrated). The operation command of the robot mechanism 20 based onthe operation command is output to the control command generating part36 from an overall control part (not illustrated) provided in thefeeding/releasing material device control unit 230. The operationcommand of the feeding/releasing material arm 21 which is output fromthe control command generating part 36, for example, a trace of thefront end of the feeding/releasing material arm 21 is commanded as anangle of the feeding/releasing material arm 21 every time.

The arm operation control part 238 outputs a control signal of the armdriving motor 22 to execute the operation command of thefeeding/releasing material arm 21 which is output from the controlcommand generating part 36. The arm operation control part 238 has anangle information and angular velocity information using control part238 b. The angle information and angular velocity information usingcontrol part 238 b generates and outputs an optimum control signal ofthe arm driving motor 22 in accordance with the angle information fromthe angle sensor 34 and the angular velocity information from theangular velocity sensor 32 so as to execute the operation command of thefeeding/releasing material arm 21. The gain adjusting part 235 adjustsand outputs a gain of the angular velocity information when angleinformation and angular velocity information using control part 238 bgenerates the control signal of the arm driving motor 22 in accordancewith the angle information and the angular velocity information. Theconversion of the gain of the angular velocity information is determinedby the control conversion determining part 237. In this instance, thegain adjusting part 235 and the control conversion determining part 237correspond to the control conversion determining part.

The gain of the angular velocity information corresponds to a weightedconstant of the inertial force information. The arm operation controlpart 238 or the angle information and angular velocity information usingcontrol part 238 b provided in the arm operation control part 238corresponds to the arm operation control part.

The control conversion determining part 237 determines the conversion ofthe gain of the angular velocity information in accordance with theangle information from the angle sensor 34, the angular velocityinformation from the angular velocity sensor 32, or the operationcommand of the feeding/releasing material arm 21 from the controlcommand generating part 36.

Pivot of Feeding/releasing Material Arm 21

Next, in the feeding/releasing material device 210, the process ofpositioning the holding hand 12 which is installed at the front end ofthe feeding/releasing material arm 21, at an appropriate position bycontrolling the drive of the arm driving motor 22 and pivoting thefeeding/releasing material arm 21 will be described with reference toFIG. 6. FIG. 6 is a flowchart illustrating the process of pivoting thefeeding/releasing material arm by controlling the drive of the armdriving motor.

First, in a step S41 in FIG. 6, it is determined whether there is a“motor stop command” or not. The motor stop command is a command ofstopping the arm driving motor 22 to complete the control.

If there is the motor stop command (YES in step S41), thefeeding/releasing material arm 21 is pivoted by controlling the drive ofthe arm driving motor 22 to complete the process of positioning theholding hand 12 which is located at the front end of thefeeding/releasing material arm 21, at the appropriate position.

If there is no motor stop command (NO in step S41), it proceeds to stepS42.

Next, in step S42, the control command values, the angle information,and the angular velocity information are obtained. More specifically,the control command value output from the control command generatingpart 36 and input to the arm operation control part 238 is input to thecontrol conversion determining part 237. The angle information on thepivot angle of the feeding/releasing material arm 21 which is obtainedfrom the pivot angle of the arm driving motor 22 measured by the anglesensor 34 connected to the arm driving motor 22 is input to the controlconversion determining part 237 and the arm operation control part 238.The angular velocity information on the angular velocity of thefeeding/releasing material arm 21 which is measured by the angularvelocity sensor 32 fixed near to the front end of the feeding/releasingmaterial arm 21 is input to the control conversion determining part 237and the arm operation control part 238.

Next, in step S43, the control conversion determining part 237determines whether the angular velocity of the feeding/releasingmaterial arm 21 is more than a predetermined threshold value or notbased on the angular velocity information output from the angularvelocity sensor 32. The predetermined threshold value is indicated by athreshold value S.

If the angular velocity of the feeding/releasing material arm 21 is morethan the predetermined threshold value S (YES in step S43), the controlconversion determining part 37 determines the gain of the angularvelocity information as 1, and it proceeds to step S45.

If the angular velocity of the feeding/releasing material arm 21 is lessthan the predetermined threshold value S (NO in step S43), the controlconversion determining part 237 determines to convert the gain of theangular velocity information, and it proceeds to step S44.

In step S44, the gain adjusting part 235 determines the gain of theangular velocity information as a value of 1 or less than when the angleinformation and angular velocity information using control part 238 bgenerates the control signal of the arm driving motor 22 based on theangle information and the angular velocity information, and then outputsit to the angle information and angular velocity information usingcontrol part 238 b. Next to step S44, it proceeds to step S45.

Next to step S43 or step S44, in step S45, the angle information andangular velocity information using control part 238 b calculates atorque command value from the control command value, the angleinformation, the angular velocity information and the gain of theangular velocity information.

Next, in step S46, the torque command value calculated and obtained bythe angle information and angular velocity information using controlpart 238 b is input to the motor driver 39.

Then, in step S47, the electric power corresponding to the torquecommand value is supplied to the driving motor 22 by the motor driver39. The arm driving motor 22 generates the torque corresponding to thesupplied electric power.

Next, in step S48, the arm driving mechanism 23 connected to the armdriving motor 22 is operated by the torque generated by the arm drivingmotor 22, and the angular velocity of the feeding/releasing material arm21 connected to the arm driving motor 22 via the arm driving mechanism23 is accelerated or decelerated by the torque generated by the armdriving motor 22.

Subsequent to step S48, it proceeds to step S41, and in a case in whichthere is the motor stop command in step S41 (YES in step S41), thefeeding/releasing material arm 21 is pivoted by controlling the drive ofthe arm driving motor 22 to complete the process of positioning theholding hand 12, which is installed at the front end of thefeeding/releasing material arm 21, at a predetermined position.

Embodiment 3

Next, the third embodiment will be described as a modified example ofthe first embodiment and the second embodiment. In this embodiment, itwill be described another embodiment of the threshold value which is acriteria to determine whether the angular velocity information is usedor not used or to determine a value of the gain, when the torque commandvalue is calculated in the first embodiment or the second embodiment.

Example 1 of Threshold Value

First, another example of defining the threshold value on the angularvelocity information will be described with reference to FIGS. 7A and7B. FIGS. 7A and 7B are explanatory views illustrating an example of thethreshold value of the angular velocity as a standard of converting thecontrol. FIG. 7A is a diagram illustrating an example of a relationshipbetween a time lapse and the angular velocity, and a threshold value ofthe angular velocity while the feeding/releasing material arm ispivoted. FIG. 7B is a diagram illustrating an example of angularvelocity information.

The angular velocity indicated by a double-dotted chain line in FIG. 7Ais an angular velocity designated for every lapse time as the controlcommand value, and the angular velocity indicated by the solid line isan example of an angular velocity for every lapse time in the case wherethe state feedback control or the like is performed by using the controlcommand value, the angular velocity information and the angleinformation. The angular velocity indicated by the solid line in FIG. 7Bis an angular velocity measured by using an angular velocity sensor witha wide dynamic range, and the angular velocity indicated by a brokenline is an angular velocity measured by using an angular velocity sensorwith a relatively narrow dynamic range.

In general, the output of the angular velocity sensor is output as, forexample, a voltage, and the voltage to be output is finite. For thisreason, if a resolution is increased, the dynamic range is narrowed. Thedynamic range of the angular velocity sensor shown in FIG. 7B with therelatively narrow dynamic range is approximately 300 dps, and as shownin FIG. 7B, if the angular velocity of the object to be measured is morethan the dynamic range, the output of the angular velocity becomes aconstant value. For this reason, in a case in which the angular velocityof the object to be measured is more than the dynamic range, if thecontrol of the robot is performed by using the angular velocityinformation, the possibility of performing wrong control is high. It ispossible to increase the resolution by narrowing the dynamic range.Therefore, since even small fluctuation of the angular velocity can bedetected, the precise control can be performed.

In the example of the threshold value, as shown in FIG. 7A, in a case inwhich the angular velocity is more than the threshold value S2, theangular velocity information is not used, or the control with the gainof the angular velocity information less than 1 is performed.

Example 2 of Threshold Value

Next, an example of defining the threshold value on the angleinformation will be described with reference to FIGS. 8A and 8B. FIGS.8A and 8B are explanatory views illustrating an example of the thresholdvalue of the angle as a standard of converting the control. FIG. 8A is adiagram illustrating an example of a relationship between a time lapseand the pivot angle, and a threshold value of the angle while thefeeding/releasing material arm is pivoted. FIG. 8B is a diagramillustrating an example of a relationship between a time lapse and thepivot angle, and a threshold value of the angle while thefeeding/releasing material arm is stopped.

As shown in FIG. 8A, in a step in which the feeding/releasing materialarm 21 is pivoted and the pivoted angle is more than the threshold valueS3, the PID control is performed, for example, based on the angle of theangle sensor using the control command value and the angle information,without using the angular velocity information, or the angular velocityof its differential value, or, for example, the state feedback controlusing the control command value and the angle information, and theangular velocity information, of which the gain is set to be 1 or less,is performed. In a step in which the rotation operation starts and thepivot angle is less than the threshold value S3, the control using theangular velocity information, the control command value and the angleinformation is performed. The control uses, for example, the statefeedback control.

The pivot angle indicated by a double-dotted chain line in FIGS. 8A and8B is an angle designated for every lapse time as the control commandvalue. The angle indicated by a broken line is an example of an anglefor every lapse time in the case where the PID control is performedbased on the angle of the angle sensor using the control command valueand the angle information, or the angular velocity of its differentialvalue. The angle indicated by the solid line is an example of an anglefor every lapse time in the case where the state feedback control or thelike is performed by using the control command value, the angularvelocity information and the angle information.

In this instance, FIGS. 8A and 8B show the solid line indicating theangle in the case of performing the state feedback control or the likeat a slow side in time in order to apparently separate the broken lineindicating the angle in the case of performing the PID control from thesolid line indicating the angle in the case of performing the statefeedback control or the like.

As shown in FIG. 8B, in the case in which the control using the controlcommand value and the angle information is performed, residual vibrationmay be generated by pivoting the feeding/releasing material arm 21 so asto return the holding hand 12 passing through the wanted position. Bygeneration of the residual vibration, a time is required until thefeeding/releasing material arm 21 stops after it almost reaches thewanted position, that is, the residual vibration stabilized.

In the case in which the control using the control command valueinformation, the angular velocity information and the angle informationis performed, the vibration is almost not generated. As a result, untilthe feeding/releasing material arm 21 almost approaches the wantedposition and then is stopped, the time is not required.

In the case in which the noise is carried in the angular velocityinformation, since the vibration is generated by the noise, theprecision is deteriorated. It is possible to exclude the influence ofthe noise by setting the threshold value of the angle converting thecontrol far away from the angle of the vibration with respect to thewanted stop position. By converting the control using the controlcommand value and the angle information, it is possible to suppress thegeneration of heavy vibration in comparison with the case of using theangular velocity information including the noise.

In addition, by setting the threshold value of the angle converting thecontrol as an angle of a position closer than the maximum angle of theresidual vibration in the case in which the control using the controlcommand value and the angle information is performed with respect to thewanted stop position, it is possible to suppress the vibration fromgenerating when the control using the control command value, the angularvelocity information and the angle information is performed prior to thetime converting the control. It may be assumed that the pivot position(angle) of the feeding/releasing material arm 21 at the time ofconverting the control is close to the wanted stop position relative tothe maximum angle of the residual vibration in the case of performingthe control using the control command value and the angle information.Even in the control using the control command value and the angleinformation, there is a high possibility to position thefeeding/releasing material arm 21 at the wanted stop position, withoutgenerating the vibration exceeding the maximum angle of the residualvibration in the case of performing the control using the controlcommand value and the angle information. For this reason, in comparisonwith a case of performing the control using the control command valueand the angle information without performing the control using thecontrol command value, the angular velocity information and the angleinformation, the maximum angle of the residual vibration is lowered, sothat it is possible to decrease the time until the residual vibrationstabilized.

Example 3 of Threshold Value

Next, an example of defining the threshold value on a time axis with aspecific point of the control command value will be described withreference to FIGS. 9A and 9B. FIGS. 9A and 9B are explanatory viewsillustrating an example of the threshold value defined on the time axiswith respect to the specific point of the control command value as astandard of converting the control. FIG. 9A is a diagram illustrating anexample of a relationship between a time lapse and the pivot angle, anda threshold value defined on the time axis with respect to the wantedstop position which is a specific point of the control command value,while the feeding/releasing material arm is pivoted. FIG. 9B is adiagram illustrating an example of a relationship between a time lapseand the angular velocity near to the wanted stop position which is thespecific point of the control command value, and a threshold valuedefined on the time axis with respect to the wanted stop position whichis a specific point of the control command valued.

The angular velocity indicated by a double-dotted chain line in FIGS. 9Aand 9B is an angular velocity designated for every lapse time as thecontrol command value. The angle indicated by a solid line is an exampleof an angular velocity for every lapse time in the case where the statefeedback control or the like is performed by using the control commandvalue and the angular velocity information, and the angle information.

As shown in FIGS. 9A and 9B, in the control command value, after theangular velocity becomes zero and then the time T1 of a threshold timepasses from the time when it reaches the wanted stop position, the PIDcontrol is performed, for example, based on the angle of the anglesensor using the control command value and the angle information,without using the angular velocity information, or the angular velocityof its differential value, or, for example, the state feedback controlusing the control command value and the angle information, and theangular velocity information, of which the gain is set to be 1 or less,is performed. After the pivot operation starts, the control using theangular velocity information, the control command value and the angleinformation is performed during the time when the angular velocitybecomes zero and between the time when the angular velocity becomes zeroto the time T1 in the control command value. The control uses, forexample, the state feedback control.

As shown in FIG. 9B, if a predetermined time T1 passes from the timewhen the angular velocity of the control command value becomes zero, theangular velocity of the feeding/releasing material arm 21 becomes closeto zero. In a state in which the angular velocity of thefeeding/releasing material arm 21 does not become zero and the torquecommand value to drive the arm driving motor 22 is output, there is highpossibility for abnormality to occur in the control system. Theabnormality of the control system is, for example, a state in which theangular velocity sensor 32 is out of order, or the angular velocityinformation is not precise due to the noise or the like. Alternatively,by performing the control using the control command value and the angleinformation, or the control using the control command value and theangle information, and the angular velocity information of which thegain is set to be 1 or less, it is possible to exclude these abnormalfactors.

If the predetermined time T1 passes from the time when the angularvelocity of the control command value becomes zero, it may be assumedthat the pivot position (angle) of the feeding/releasing material arm 21is close to the wanted stop position. For this reason, in the controlusing the control command value and the angle information, it is highlypossible to position the feeding/releasing material arm 21 at the wantedstop position, without generating the vibration almost.

Embodiment 4

A fourth embodiment of a robot, a carriage device and a control methodusing an inertia sensor will now be described. In this embodiment, anexample of the robot or the carriage device different from thefeeding/releasing material device described in the first embodiment orthe second embodiment will be described.

Feeding/Releasing Material Device

As the feeding/releasing material device according to one embodiment ofthe robot, the carriage device, and the control method using the inertiasensor, a feeding/releasing material device 310 which is different fromthe feeding/releasing material device 10 or the feeding/releasingmaterial device 210 described in the first embodiment or the secondembodiment will be described with reference to FIG. 10. FIG. 10 is aperspective view schematically illustrating an external configuration ofthe feeding/releasing material device.

As shown in FIG. 10, the feeding/releasing material device 310 includesa holding hand 12, a robot mechanism 320, a feeding/releasing materialdevice control unit 330, an angular velocity sensor 332 a, an angularvelocity sensor 332 b, and two angle sensors (not illustrated).

The robot mechanism 320 includes a hand holding mechanism 24, afeeding/releasing material arm 321, an arm shaft part 326, and a base328. The base 328 supports the arm shaft part 326 in such a way that thearm shaft part can be rotated around a rotational shaft of the arm shaftpart 326 via a built-in bearing mechanism (not illustrated) and can beprecisely positioned. The arm shaft part 326 is connected to an armdriving motor (not illustrated) built in the base 328 via an arm drivingmechanism (not illustrated), and thus is pivoted by the arm drivingmotor. The arm driving motor is connected to the angle sensor, and apivot angle of the arm driving motor is measured by the angle sensor.

An end portion of the arm shaft part 326 which is opposite to its endportion supported by the base 328 is fixed to one end portion of thefeeding/releasing material arm 321. The feeding/releasing material arm321 has an arm portion 321 a, an arm portion 321 b, and an armarticulated portion 323. One end of the arm portion 321 a is connectedto one end of the arm portion 321 b via the arm articulated portion 323.The other end of the arm portion 321 b which is opposite to the one endconnected to the arm articulated portion 323 is fixed to the arm shaftpart 326. Since the arm shaft part 326 is freely pivoted around therotational shaft of the arm shaft part 326 with respect to the base 328,the arm portion 321 b with one end fixed to the arm shaft part 326 isfreely pivoted around the rotational shaft of the arm shaft part 326with respect to the base 328.

The arm portion 321 b supports the arm portion 321 a in such a way thatit is pivoted around the rotational shaft of the arm articulated portion323 through the arm articulated portion 323. The portion of the armarticulated portion, to which the arm portion 321 a of the armarticulated portion 323 is fixed, is connected to an arm portion drivingmotor (not illustrated) built in the arm portion 321 b via an armportion driving mechanism (not illustrated), and is pivoted by the armportion driving motor. An angle of the arm portion 321 a and the armportion 321 b with respect to the arm articulated portion 323 can beadjusted. That is, the feeding/releasing material arm 321 can beflexibly extended with respect to the arm articulated portion 323. Thearm angle sensor is connected to the arm portion driving motor, and thepivot angle of the arm portion driving motor is measured by the armangle sensor. It is possible to measure the pivot angle of the armportion 321 a with respect to the arm portion 321 b by measuring thepivot angle of the arm portion driving motor.

An axial direction of the rotational shaft of the arm shaft part 326 issubstantially parallel with an axial direction of the rotational shaftof the arm articulated portion 323.

The end portion of the arm shaft portion 321 a which is opposite to theend thereof fixed to the arm articulated portion 323 is fixed to thehand holding mechanism 24. The hand holding mechanism 24 has a holdingbearing 24 a fixed to the arm portion 321 a, and a holding mechanismshaft 24 b which can be slidably supported and precisely positioned onthe holding bearing 24 a. The holding mechanism shaft 24 b can beslidably supported with respect to the holding bearing 24 a in an axialdirection of the holding mechanism shaft 24 b by a vertically drivingsource (not illustrated). The axial direction of the holding mechanismshaft 24 b is substantially parallel with the axial direction of therotational shaft of the arm shaft part 326 and the axial direction ofthe rotational shaft of the arm articulated portion 323.

A holding hand 12 is attached to a free end of the holding mechanismshaft 24 b. The holding hand 12 is located at a position faced to anobject to be carried by rotating and flexibly extending thefeeding/releasing material arm 321. By sliding the holding mechanismshaft 24 b with respect to the holding bearing 24 a, the holding hand 12is separated from and connected to the object to be carried, andsimultaneously, the object to be carried which is held by the holdinghand 12 is lifted from a placing location or is drawn close to theplacing location.

The angular velocity sensor 332 a is fixed to the hand holding mechanism24 attached with the holding hand 12, opposite to the holding hand 12.That is, the angular velocity sensor 332 a is fixed to the front end ofthe arm portion 321 a to measure the angular velocity of the arm portion321 a to be pivoted.

The angular velocity sensor 332 b is fixed to the side of one end of thearm portion 321 b which is connected to the arm articulated portion 323.Accordingly, the angular velocity sensor 332 b is fixed to the front endof the arm portion 321 b to measure the angular velocity of the armportion 321 b to be pivoted.

The feeding/releasing material device control unit 330 controls theoverall operation of each part of the feeding/releasing material device310 based on a control program previously input through an informationinput/output device (not illustrated). The feeding/releasing materialdevice control unit 330 can control the operation of the arm portion 321b based on angular velocity information from the angular velocity sensor332 b and angle information from the angle sensor built in the base 328.Simultaneously, relative movement of the arm portion 321 a with respectto the arm portion 321 b can be controlled based on angular velocityinformation from the angular velocity sensor 332 a and angle informationfrom the arm angle sensor built in the arm portion 321 b. That is, theoperation of the feeding/releasing material arm 321 generally handlingthe operation of the arm portion 321 a and the arm portion 321 b can becontrolled by using the angular velocity information and the angleinformation, similar to the above-mentioned embodiments.

Carriage Device

Next, the carriage device including a holding device for holding atarget object which moves in parallel along an orthogonal coordinatessystem will be described with reference to FIGS. 11A and 11B. FIGS. 11Aand 11B are perspective views schematically illustrating the externalconfiguration of the carriage device. FIG. 11A is a perspective viewschematically illustrating an external configuration of a ceilingsuspension carriage device. FIG. 11B is a perspective view schematicallyillustrating an external configuration of a head carriage device in aprinting machine.

Ceiling Suspension Carriage Device

As shown in FIG. 11A, a ceiling suspension carriage device 410 includesa main scanning direction movable mechanism 402, a subsidiary scanningdirection movable mechanism 403, a lift movable mechanism 404, a holdingmechanism 412, a distance sensor, an acceleration sensor 432, and acarriage device control unit (not illustrated).

The main scanning direction movable mechanism 402 has a pair of mainscanning guide rails 421 and 421 extending in a main scanning direction,a main scanning linear motor formed on the main scanning guide rail 421,and a main scanning slider formed on a main plate 422. The scanningplate 422 is placed between the pair of main scanning guide rails 421and 421, and extends in a subsidiary scanning direction substantiallyperpendicular to the main scanning direction. The scanning plate 422 isfreely moved in the main scanning direction by the main scanning linearmotor and the main scanning slider. The pair of main scanning guiderails 421 and 421 is suspended from, for example, a ceiling.

The subsidiary scanning direction movable mechanism 403 has a subsidiaryscanning linear motor formed on the scanning plate 422, and a subsidiaryscanning slider formed on a subsidiary scanning frame 423. Thesubsidiary scanning frame 423 is freely moved in the subsidiary scanningdirection by the subsidiary scanning linear motor and the subsidiaryscanning slider.

The lift movable mechanism 404 has a ball bearing placed in thesubsidiary scanning frame 423, a ball bearing driving motor, and a ballscrew fixed to a lift shaft 424. The lift shaft 424 is lifted by theball bearing, the ball bearing driving motor and the ball screw.

The holding mechanism 412 fixed to the lift shaft 424 at a positionopposite to the ball screw is moved to an optional position in the mainscanning direction and the subsidiary scanning direction by the mainscanning direction movable mechanism 402 and the subsidiary scanningdirection movable mechanism 403, and can be detached from and comes intocontact with the target object by the lift movable mechanism 404.

The carriage device control unit controls the overall operation of eachpart of the ceiling suspension carriage device 410 based on the controlprogram which is previously input via the information input/outputdevice (not illustrated).

The main scanning linear motor, the subsidiary scanning linear motor,and the ball bearing driving motor are respectively connected to adistance sensor for measuring a driving distance by the motors.

The acceleration sensor 432 a, the acceleration sensor 432 b or theacceleration sensor 432 c are fixed to the subsidiary scanning linearmotor 423 or the holding mechanism 412. The acceleration sensor 432 a,the acceleration sensor 432 b and the acceleration sensor 432 c canmeasure the acceleration in the main scanning direction, the subsidiaryscanning direction or the lift direction.

The movement of the holding mechanism 412 can be controlled by themoving distance information in each direction by the distance sensorconnected to the main scanning linear motor, the subsidiary scanninglinear motor or the ball bearing driving motor, and the accelerationinformation in each direction by the acceleration sensor 432 a, theacceleration sensor 432 b or the acceleration sensor 432 c. As thedistance sensor, for example, a linear encoder may be used. The distancesensor corresponds to a position sensor.

When the movement of the holding mechanism 412 is controlled by usingthe moving distance information and the acceleration information, athreshold value is previously set in the moving distance information orthe acceleration information, and the control conversion determiningunit of the carriage device control unit compares the moving distanceinformation or the acceleration information with the threshold value todetermine whether the acceleration information is used or not for thecontrol or to determine a constant to be multiplied to the accelerationinformation. The operation control part of the carriage device controlunit performs the control using the control command value and the movingdistance information, the control using the control command value andthe moving distance information, and the acceleration information, orthe control using the acceleration information resulted by multiplyingthe control command value and the moving distance information by a gainof the acceleration information, according to the determination of thecontrol conversion determining unit. By performing the control, theoperation of the main scanning direction movable mechanism 402, thesubsidiary scanning direction movable mechanism 403 and the lift movablemechanism 404 is controlled, so that the holding mechanism 412 is movedto an optional position to determine the position.

Head Carriage Device

As shown in FIG. 11B, the head carriage device 460 is to move anejection head 462 of the printing machine, and includes a head carriage476, a carriage shaft 474, a driving belt 473, a driving pulley 472, adriving motor 471, an acceleration sensor 482, and an encoder 484. Theprinting machine includes a printing machine control unit (notillustrated) for controlling the overall operation of each part of theprinting machine.

The driving motor 471 is fixed to a machine frame which is not shown,and the driving pulley 472 is fixed to one end of the driving shaft. Thedriving belt 473 is located between the driving pulley 472 and a drivenpulley (not illustrated), and the driving belt 473 is driven by thedriving motor 471. The carriage shaft 474 is placed in parallel with theextension direction of the driving belt 473. The head carriage 476 isengaged with and supported by the carriage shaft 474 in such a way thatthe head carriage can be slid in an axial direction of the carriageshaft 474. The head carriage 476 is fixed with the driving belt 473, andis moved along the carriage shaft 474 by driving of the driving belt473. The ejection head 462 held by the head carriage 476 is moved in theaxial direction of the carriage shaft 474 and is held at an optionalposition.

The printing machine control unit controls the overall operation of eachpart of the printing machine based on the control program previouslyinput through the information input/output device (not illustrated).

The encoder 484 is connected to the driving shaft of the driving motor471, and measures the pivot angle of the driving motor 471 to measurethe moving distance of the ejection head 462. The pivot angleinformation of the driving motor 471 corresponding to the position ofthe ejection head 462 corresponding to the moving distance is indicatedby the position information of the driving motor 471. The accelerationsensor 482 is fixed to the head carriage 476, and can measure theacceleration acting on the head carriage 476 by driving of the headcarriage 476. The movement of the ejection head 462 held by the headcarriage 476 can be controlled by the position information from theencoder 484 and the acceleration information from the accelerationsensor 482. The encoder 484 corresponds to a position sensor.

When the movement of the ejection head 462 is controlled by using theposition information and the acceleration information, a threshold valueis previously set in the position information or the accelerationinformation, and the control conversion determining unit of the printingmachine control unit compares the position information or theacceleration information with the threshold value to determine whetherthe acceleration information is used or not for the control or todetermine a weighted constant to be multiplied to the accelerationinformation. The operation control part of the printing machine controlunit performs the control using the control command value and theposition information, the control using the control command value andthe position information, and the acceleration information, or thecontrol using the acceleration information resulted by multiplying thecontrol command value and the position information by the weightedconstant, according to the determination of the control conversiondetermining unit. By performing the control, the operation of thedriving motor 471 is controlled, so that the ejection head 462 held bythe head carriage 476 is moved to an optional position to determine theposition.

Laser Printer

Next, as an example of controlling rotation of a drum-shaped member, alaser printer 510 will be described with reference to FIG. 12. FIG. 12is a diagram schematically illustrating a major part of the laserprinter.

As shown in FIG. 12, the laser printer 510 includes a photoreceptor drum524, a drum driving motor 522, an encoder 534, a driving transmissionmechanism 523, a charging unit 541, a laser oscillation unit 542, atoner supply unit 543, a transfer roller 544, a fixing roller 546 and afixing roller 547, a toner recovery unit 548, an angular velocity sensor532, and a printer control unit (not illustrated).

The photoreceptor drum 524 is connected to the drum driving motor 522via the driving transmission mechanism 523, and is rotated around therotational shaft by the drum driving motor 522. The surface of thephotoreceptor drum 524 is negatively charged by the charging unit 541,and an electrostatic portion is remained in a shape of printing by thelaser oscillation unit 542 to draw the shape of the printing. The tonersupplied by the toner supply unit 543 is adhered to the shape of thecharged printing. A sheet 549 is pressed against the photoreceptor drum524 by the transfer roller 544, so that the toner is transferred to thesheet 549. The toner transferred to the sheet 549 is applied by pressureand heat from the fixing roller 546 and the fixing roller 547, and thusis fixed. Unnecessary toner is recovered from the surface of thephotoreceptor drum 524 transferred with the toner by the toner recoveryunit 548, and then the above process is repeated.

The printer control unit controls the overall operation of each part ofthe laser printer 510 based on the control program previously inputthrough the information input/output device (not illustrated).

The encoder 534 is connected to the driving shaft of the drum drivingmotor 522, and measures the pivot angle of the drum driving motor 522 tomeasure the rotation angle information of the photoreceptor drum 524 bythe encoder 534. The angular velocity sensor 532 is fixed to thephotoreceptor drum 524, and can obtain the angular velocity informationon the pivoting photoreceptor drum 524 from the acceleration sensor 532.The rotation of the photoreceptor drum 524 can be controlled by thepivot angle information of the drum driving motor 522 by the encoder534, and the angular velocity information from the angular velocitysensor 532.

When the rotation of the photoreceptor drum 524 is controlled by usingthe pivot angle information and the angular velocity information, athreshold value is previously set in the pivot angle information or theangular velocity information, and the control conversion determiningunit of the printer control unit compares the pivot angle information orthe angular velocity information with the threshold value to determinewhether the angular velocity information is used or not for the controlor to determine a weighted constant to be multiplied to the angularvelocity information. The operation control part of the printer machinecontrol unit performs the control using the control command value andthe pivot angle information, the control using the control command valueand the pivot angle information, and the angular velocity information,or the control using the angular velocity information resulted bymultiplying the control command value and the pivot angle information bythe weighted constant, according to the determination of the controlconversion determining unit. By performing the control, the operation ofthe drum driving motor 522 is controlled, so that the photoreceptor drum524 is rotated at an optional angle.

Although preferred embodiments are described with reference to theaccompanying drawings, the invention is not limited to the preferredembodiments. The embodiments can be implemented by the following withinthe range departing from the gist of the invention, and may be variouslymodified.

Modified Example 1

In the embodiment, although the example of defining the threshold valuefor the pivot angle information, the angular velocity information, themoving distance information, the acceleration information or theposition information, or the example of defining the threshold value onthe time axis with respect to the specific point of the control commandvalue has been described, the object defining the threshold value is notlimited thereto. It may be determined whether the angular velocityinformation or the acceleration information is used or not, by settingthe threshold value for the noise affecting the value of the angularvelocity information or the acceleration information and using a levelof the noise, or the constant which is multiplied to the angularvelocity information or the acceleration information may be determinedso as to adjust the influence of the angular velocity information or theacceleration information. As the noise affecting the value of theangular velocity information or the acceleration information, there ismechanical vibration of the machine itself, vibration of an apparatusexisting around the machine, dispersion of a power supplied to themachine, or surrounding electron noise.

Modified Example 2

In the embodiment, although the example of defining the threshold valuefor the angular velocity information by the angular velocity sensor 32or the acceleration information by the acceleration sensor 432 has beendescribed, the object defining the threshold value is not limitedthereto. The threshold value may be defined for the integral value ofone or more times of the angular velocity information or theacceleration information. The integral value of the accelerationinformation is velocity information, and the velocity information may betreated similar to the angular velocity information. The integral valueof two times of the acceleration information and the integral value ofthe angular velocity information is information of the moving distance,and the information of the moving distance may be treated similar to theangle information or the position information.

Modified Example 3

In the embodiment, although the example of defining the threshold valuefor the angle information by the angle sensor 34 or the moving distanceinformation by the distance sensor has been described, the objectdefining the threshold value is not limited thereto. The threshold valuemay be defined for the differential value of one or more times of theangle information or the moving distance information. The differentialvalue of the angle information or the moving distance information may betreated similar to the angular velocity information as the angularvelocity or the moving velocity. The differential value of two times ofthe angle information or moving distance information may be treatedsimilar to the acceleration information as the angular acceleration orthe acceleration.

Modified Example 4

In the embodiment, the example of defining the threshold value for thepivot angle information, the angular velocity information, the movingdistance information, the acceleration information or the positioninformation, or the example of defining the threshold value on the timeaxis with respect to the specific point of the control command value hasbeen described. Although the object defined with the threshold value isused exclusively when the control is performed, the control may beperformed by using plural objects defining the threshold value. Forexample, in only case in which both the pivot angle information and theangular velocity information exceed the threshold values, the controlmay be performed by not using the angular velocity information. In acase in which at least one of the pivot angle information and theangular velocity information does not exceed the threshold values, thecontrol may be performed by using the pivot angle information or theangular velocity information. In addition, the pivot angle information,the angular velocity information, the moving distance information, theacceleration information or the position information, or the time axiswith respect to the specific point of the control command value may becombined with the noise level affecting the value of the angularvelocity information or the acceleration information described inModified Example 1. In this instance, for example, in a case in whichboth sides of the pivot angle information, the angular velocityinformation, the moving distance information, the accelerationinformation or the position information, or the time axis with respectto the specific point of the control command value, and the noise levelexceed the threshold value, the control is performed by not using theangular velocity information. In a case in which at least one sideexceeds the threshold value, the control is performed by using pivotangle information and the angular velocity information. Consequently,irrespective of that the noise level such as angular velocityinformation is maintained in a low level, it is possible to elude thestate where the control is performed by not using the angular velocityinformation, in order to prevent the adverse effect by the noise.

Modified Example 5

In the embodiment, as an example of the robot and carriage device,although the feeding/releasing material device 10 including the robotmechanism 20, the feeding/releasing material device 310 including therobot mechanism 320, the ceiling suspension carriage device 410, thehead carriage device 460 provided in the printing machine, and the drumdriving device provided in the laser printer 510 has been described byway of an example, the robot and carriage device which can beappropriately controlled by using the control method using the inertiasensor are not limited to the illustrative devices. By using the controlmethod using the inertia sensor, a device capable of quickly moving themovable body to a predetermined target position and quickly stopping itat the position with high precision can be appropriately controlled.

What is claimed is:
 1. A robot comprising: an arm with one end pivotallysupported; a driving source that pivots the arm; an angle sensor thatdetects a pivot angle of the driving source and outputs pivot angleinformation of the driving source; an inertia sensor that is attached tothe arm and outputs inertial force information of an inertial forceacting on the arm; a control command generating unit that outputs acontrol command defining a rotational operation of the arm; a controlconversion determining unit that determines a weighted constant of theinertial force information when the rotation operation of the arm iscontrolled by the driving source; and an arm operation control unit thatcontrols the driving source and thus controls the rotation operation ofthe arm based on the control command, the pivot angle information, andthe inertial force information which is multiplied by the weightedconstant determined by the control conversion determining, wherein thecontrol conversion determining unit compares the inertial forceinformation with a predetermined inertial force threshold value todetermine whether the inertial force information is used for controllingthe rotation operation of the arm, and the control conversiondetermining unit compares the pivot angle information with apredetermined pivot angle threshold value to determine whether theinertial force information is used for controlling the rotationoperation of the arm.
 2. The robot according to claim 1, wherein thecontrol conversion determining unit compares an integral value of one ormore times of the inertial force information with a predeterminedinertial force threshold value to determine whether the inertial forceinformation is used for controlling the rotation operation of the arm.3. The robot according to claim 1, wherein the control conversiondetermining unit compares a differential value of one or more times ofthe pivot angle information with a predetermined pivot angle thresholdvalue to determine whether the inertial force information is used forcontrolling the rotation operation of the arm.
 4. The robot according toclaim 1, wherein the control conversion determining unit compares alapse time from a specific point of the control command with apredetermined time axis threshold value, which is in a time axis and isobtained based on the specific point of the control command, todetermine whether the inertial force information is used for controllingthe rotation operation of the arm.
 5. The robot according to claim 1,wherein the control conversion determining unit compares noise affectingthe inertial force information with a predetermined noise thresholdvalue to determine whether the inertial force information is used forcontrolling the rotation operation of the arm.